package hottargui.framework;

/**
 * Object server Holds an instance of GameData and all the strategies from the
 * factory
 */
public class GameObjectServer {

	GameData gameData;
	AttackStrategy attackStrategy;
	WinnerStrategy winnerStrategy;
	BuyStrategy buyStrategy;
	TurnSequenceStrategy turnSequenceStrategy;
	BoardStrategy boardStrategy;
	DiceRollStrategy diceRollStrategy;

	public GameObjectServer(TarguiFactory factory) {
		gameData = new GameData();

		attackStrategy = factory.getAttackStrategy();
		winnerStrategy = factory.getWinnerStrategy();
		buyStrategy = factory.getBuyStrategy();
		turnSequenceStrategy = factory.getTurnSequenceStrategy();
		boardStrategy = factory.getBoardStrategy();
		diceRollStrategy = factory.getDiceRollStrategy();
	}

	public GameData getGameData() {
		return gameData;
	}

	public AttackStrategy getAttackStrategy() {
		return attackStrategy;
	}

	public WinnerStrategy getWinnerStrategy() {
		return winnerStrategy;
	}

	public BuyStrategy getBuyStrategy() {
		return buyStrategy;
	}

	public TurnSequenceStrategy getTurnSequenceStrategy() {
		return turnSequenceStrategy;
	}

	public BoardStrategy getBoardStrategy() {
		return boardStrategy;
	}

	public DiceRollStrategy getDiceRollStrategy() {
		return diceRollStrategy;
	}
}
